Saltar al contenido principal

Entrenar un Segmenter

Esta guía le muestra cómo configurar y ajustar la función de segmentación del OV80i para detectar, medir y analizar automáticamente características específicas o defectos en sus piezas. Utilice la segmentación cuando necesite identificar formas irregulares, medir áreas o detectar patrones específicos que no pueden ser manejados por una simple clasificación.

Cuándo usar Segmentación: Defectos de superficie, derrames de líquidos, formas irregulares, mediciones de áreas, detección de patrones, o cualquier característica que requiera precisión a nivel de píxel.

Antes de empezar

Qué necesitará

  • Sistema de cámara OV80i configurado y conectado
  • Piezas de prueba con las características que desea segmentar (p. ej., láminas con marcas de lápiz)
  • Buenas condiciones de iluminación para su aplicación específica
  • 15-20 imágenes de muestra para el entrenamiento

Paso 1: Crear una Receta de Segmentación

1.1 Iniciar Nueva Receta

  1. Navegar a la página Todas las Recetas
  2. Haga clic en + New Recipe (esquina superior derecha)

New Recipe button

  1. Ingrese el nombre de la Receta: Use un nombre descriptivo como "Pencil_Mark_Detection" o "Surface_Defect_Segmentation"
  2. Seleccione el Tipo de Receta: Elija "Segmentation" desde el menú desplegable
  3. Haga clic en OK para crear

1.2 Activar Receta

  1. Encuentre su receta en la lista (se muestra como "Inactive")
  2. Haga clic en Activate
  3. Haga clic en Activate and go to editor para confirmar y lanzar el editor de la receta

Activate recipe button

Resultado: La receta pasa a estar "Active" y se muestra el Editor de Recetas.

Paso 2: Configurar la Cámara

2.1 Abrir Configuración de Imagen

  1. Haga clic en Configure Imaging (lado inferior izquierdo)

Configure Image

2.2 Optimizar el Enfoque para Segmentación

El enfoque es crítico para una detección precisa de bordes:

  1. Coloque la pieza de prueba en la vista de la cámara
  2. Ajuste el Enfoque hasta que los bordes sean nítidos y claros
  3. Pruebe con diferentes piezas para asegurar un enfoque consistente a lo largo de su rango
tip
  • Enfoque en la superficie donde aparecerán defectos o características
  • Asegúrese de que toda el área de interés esté en enfoque nítido
  • Un ligero sobreenfoque es mejor que un enfoque suave para la segmentación

2.3 Establecer la Exposición Óptima

Una exposición adecuada garantiza una detección de características consistente:

  1. Ajuste la Exposición para una iluminación equilibrada
  2. Evite áreas sobreexpuestas (regiones de blanco puro)
  3. Asegúrese de que las características sean visibles con buen contraste

Directrices de Exposición para Segmentación:

  • Las características deben tener un contraste claro con el fondo
  • Evite sombras que podrían confundirse con defectos
  • Pruebe con diversas condiciones de las piezas (limpias, sucias, gastadas)

2.4 Configurar el Patrón de Iluminación LED

Elija la iluminación en función de lo que esté segmentando:

Tipo de CaracterísticaIluminación RecomendadaPor Qué
Defectos de superficieCampo claroUna iluminación uniforme revela irregularidades de la superficie
Arañazos y grietasIluminación lateralCrea sombras que destacan defectos lineales
Características en relieveCampo oscuroHace que las zonas elevadas se destaquen del fondo
Derrames de líquidosIluminación lateralMuestra diferencias en la textura de la superficie

2.5 Ajustar Gamma para la Mejora de Características

  1. Aumentar Gamma para mejorar el contraste entre las características y el fondo
  2. Probar diferentes valores mientras visualiza las características objetivo
  3. Encontrar la configuración que haga que las características sean más distinguibles

2.6 Guardar Configuración

  1. Revisar la configuración en la vista previa en vivo
  2. Haga clic en Save Imaging Settings

Save Settings

Punto de control: Las características deben ser claramente visibles con buen contraste.

Paso 3: Configurar Plantilla y Alineación

3.1 Navegar a la Sección de Plantilla

Haga clic en "Template Image and Alignment" en el menú de migas

3.2 Configurar Alineación (Opcional)

Template and alignment

Para este ejemplo, omitiremos la alineación:

  1. Seleccionar Skip Aligner si las piezas están posicionadas de forma consistente
  2. Haga clic en Save

Template image

Cuándo usar Aligner: Actívelo cuando las piezas lleguen en posiciones u orientaciones variables que podrían afectar la precisión de la segmentación.

Paso 4: Definir la Región de Inspección

4.1 Navegar a Configuración de Inspección

Haga clic en "Inspection Setup" en el menú de migas

4.2 Configurar la Región de Interés (ROI)

La ROI define dónde ocurrirá la segmentación:

  1. Coloque una pieza de prueba en la vista de la cámara
  2. Arrastre las esquinas de la ROI para enmarcar el área de inspección
  3. Ajuste el tamaño de la ROI adecuadamente:
    • Incluya todas las áreas donde podrían aparecer las características
    • Excluya regiones de fondo innecesarias
    • Deje un pequeño margen alrededor de las ubicaciones esperadas de las características

ROI Setup

4.3 Mejores Prácticas de ROI para Segmentación

DoDon't
Cubrir toda la superficie de inspecciónIncluir objetos de fondo irrelevantes
Dejar espacio de búfer alrededor de los bordesHacer la ROI demasiado pequeña para variaciones de características
Considerar variación en el posicionamiento de la piezaSuperposición con fijaciones o herramientas
Probar con las características más grandes esperadasIncluir áreas con marcas permanentes

4.4 Guardar Configuración de ROI

  1. Verifique que la ROI cubra todas las áreas objetivo
  2. Haga clic en Save

Paso 5: Etiquetar Datos de Entrenamiento

5.1 Navegar a Label And Train

Haga clic en "Label And Train" en el menú de migas

5.2 Configurar la Clase de Inspección

  1. Haga clic en Edit bajo Tipos de Inspección
  2. Renombrar la clase para que coincida con su característica (p. ej., "Pencil Mark", "Surface Defect", "Spill Area")
  3. Elegir el color de la clase para identificación visual
  4. Guardar cambios

5.3 Capturar y Etiquetar Imágenes de Entrenamiento

Se requieren al menos 10 imágenes etiquetadas, pero se recomiendan 15-20:

Proceso de Captura de Imágenes

  1. Coloque la primera pieza de prueba en el área de inspección
  2. Tome la imagen usando la interfaz de la cámara
  3. Usar la herramienta Pincel para pintar sobre las características objetivo
  4. Pinte con precisión:
    • Cubra toda el área de la característica
    • Manténgase dentro de los límites de la característica
    • No pinte las áreas de fondo
    • Use un enfoque de etiquetado consistente
  5. Haga clic en Save Annotations
  6. Repita con la siguiente pieza

Label and Train

Mejores Prácticas de Etiquetado

Etiquetado BuenoEtiquetado Deficiente
Límites de características precisosBordes pintados de forma descuidada
Definición de características consistenteDefinición de características inconsistente
Cobertura completa de característicasÁreas de características ausentes
Fondo limpio (sin pintar)Pintado accidental del fondo

5.4 Variedad de Datos de Entrenamiento

Asegúrese de que su conjunto de entrenamiento incluya:

  • Diferentes tamaños de características
  • Diversas intensidades de las características
  • Múltiples ubicaciones dentro de ROI
  • Diferentes condiciones de iluminación (si aplica)
  • Casos límite y ejemplos límite

5.5 Verificación de la calidad de los datos de entrenamiento

  1. Revisar todas las imágenes etiquetadas
  2. Verificar un enfoque de etiquetado consistente
  3. Eliminar cualquier ejemplo etiquetado incorrectamente
  4. Agregar más ejemplos si es necesario

Paso 6: Entrenar Modelo de Segmentación

6.1 Inicio del Proceso de Entrenamiento

  1. Haga clic en Return to Live cuando se haya completado el etiquetado
  2. Haga clic en Train Segmentation Model

Start Training

6.2 Configurar Parámetros de Entrenamiento

  1. Establecer el número de iteraciones:
    • Entrenamiento rápido: 50-100 iteraciones (5-10 minutos)
    • Calidad de producción: 200-500 iteraciones (15-30 minutos)
    • Alta precisión: 500+ iteraciones (30+ minutos)
  2. Haga clic en Start Training

Start Training

6.3 Monitorear el progreso del entrenamiento

El progreso del entrenamiento muestra:

  • Número de iteración actual
  • Precisión de entrenamiento (porcentaje)
  • Tiempo estimado de finalización

Training

Controles de Entrenamiento:

  • Abortar Entrenamiento: Detener si surgen problemas
  • Finalizar el entrenamiento temprano: Detenerse cuando la precisión sea suficiente

Training 2

tip
  • Una exactitud del 85% suele ser buena para producción
  • El entrenamiento se detiene automáticamente al alcanzar la precisión objetivo
  • Más datos de entrenamiento suelen ser mejores que más iteraciones

Paso 7: Probar el rendimiento de la segmentación

7.1 Acceder a la Vista previa en vivo

  1. Haga clic en Live Preview después de completar el entrenamiento
  2. Probar con varias piezas:
    • Piezas buenas conocidas (debería mostrar poca o ninguna segmentación)
    • Piezas defectuosas conocidas (debería resaltar defectos)
    • Casos límite y ejemplos límite

Live preview

7.2 Evaluar Resultados

Verificar la calidad de la segmentación:

MétricaBuen rendimientoNecesita mejora
ExactitudEncuentra características reales de forma consistenteOmite características obvias
PrecisiónPocos falsos positivosMuchos píxeles de fondo resaltados
Calidad de BordesBordes limpios y precisosBordes ásperos o imprecisos
CoherenciaResultados similares en pruebas repetidasResultados altamente variables

7.3 Solución de problemas de resultados pobres

ProblemaCausa probableSolución
Faltan característicasDatos de entrenamiento insuficientesAgregar más ejemplos etiquetados
Falsos positivosIluminación/contraste deficientesMejorar la configuración de imagen
Bordes ásperosMala calidad de la imagenMejorar el enfoque/iluminación
Resultados inconsistentesVariedad de entrenamiento inadecuadaAgregar más ejemplos diversos

Paso 8: Configurar la Lógica de Pass/Fail

8.1 Acceder al Bloque IO

  1. Asegúrese de que el modelo de IA aparezca en verde (estado entrenado)
  2. Navegue hasta el Bloque IO a través del menú de migas de pan

8.2 Eliminar la Lógica Predeterminada

  1. Eliminar el nodo de Lógica del Bloque de Clasificación
  2. Prepararse para construir una lógica de segmentación personalizada

8.3 Construir el Flujo de Segmentación

Crear flujo de Node-RED con los siguientes componentes:

  1. Arrastre nodos desde el panel izquierdo:
    • Nodo Function (para la lógica)
    • Nodo Debug (para pruebas)
    • Nodo Final Pass/Fail
  2. Conectar nodos con cables

NodeRed

8.4 Configurar la Lógica Según Sus Necesidades

Opción A: Pase si no se detectan defectos

Caso de uso: Inspección de calidad en la que cualquier característica detectada es un fallo

Código del nodo Function:

const allBlobs = msg.payload.segmentation.blobs;
const results = allBlobs.length <1; // Pass if no features found
msg.payload = results;
return msg;

Opción B: Pase si solo hay defectos pequeños

Caso de uso: Aceptar defectos menores por debajo del umbral de tamaño

Código del nodo Function:

const threshold = 500; // Adjust pixel count threshold
const allBlobs = msg.payload.segmentation.blobs;
const allUnderThreshold = allBlobs.every(blob => blob.pixel_count < threshold);
msg.payload = allUnderThreshold;
return msg;

Opción C: Pase si el área total de defectos es pequeña

Caso de uso: Aceptar piezas con área total de defectos limitada

Código del nodo Function:

const threshold = 5000; // Adjust total pixel threshold
const allBlobs = msg.payload.segmentation.blobs;
const totalArea = allBlobs.reduce((sum, blob) => sum + blob.pixel_count, 0);
msg.payload = totalArea < threshold;
return msg;

8.5 Configurar el Nodo Function

  1. Haga doble clic en el nodo Function
  2. Copie el código adecuado de los ejemplos anteriores
  3. Pegar en la pestaña "On Message"
  4. Ajuste los valores de umbral para su aplicación
  5. Haga clic en Done

8.6 Desplegar y Probar la Lógica

  1. Haga clic en Deploy para activar la lógica
  2. Navegue a la HMI para pruebas
  3. Pruebe con piezas buenas y malas conocidas
  4. Verifique que los resultados de Pass/Fail coincidan con las expectativas

Paso 9: Validación de Producción

9.1 Pruebas Exhaustivas

Pruebe el sistema de segmentación con:

Caso de PruebaResultado EsperadoAcción si Falla
Piezas limpiasPass (sin segmentación)Ajuste de umbrales o reentrenamiento
Defectos menoresPass/Fail según sus criteriosAjuste de los parámetros de la lógica
Defectos mayoresFail (segmentación clara)Verificar la exactitud del modelo
Casos límiteComportamiento consistenteAñadir datos de entrenamiento

9.2 Validación de Rendimiento

Monitoree estas métricas:

  • Tiempo de procesamiento por inspección
  • Consistencia entre múltiples pruebas
  • Precisión con iluminación de producción
  • Confiabilidad durante operación prolongada

9.3 Ajustes Finales

Si el rendimiento no es satisfactorio:

  1. Agregar más datos de entrenamiento para casos límite
  2. Ajustar los valores de umbral en la lógica
  3. Mejorar las condiciones de imagen
  4. Reentrenar el modelo con iteraciones adicionales

¡Éxito! Su sistema de segmentación está listo

Ahora tiene un sistema de segmentación operativo que puede:

  • Detectar automáticamente características o defectos específicas
  • Medir áreas con precisión a nivel de píxel
  • Aplicar lógica personalizada de Pass/Fail basada en sus requisitos
  • Integrarse con sistemas de producción a través de controles de E/S

Opciones Avanzadas de Configuración

Lógica de Umbral Personalizado

Para criterios de aceptación complejos, combine múltiples condiciones:

const smallThreshold = 200;
const largeThreshold = 1000;
const maxTotalArea = 3000;

const allBlobs = msg.payload.segmentation.blobs;
const smallBlobs = allBlobs.filter(blob => blob.pixel_count < smallThreshold);
const largeBlobs = allBlobs.filter(blob => blob.pixel_count > largeThreshold);
const totalArea = allBlobs.reduce((sum, blob) => sum + blob.pixel_c